Guideline: Two Special Test Environments
Relationships
Related Elements
Main Description

Two variations of the test environment require some extra attention: the end-to-end test environment and the production fix test environment. This because they involve some specific aspects that are less important in the other environments.

End-to-end test environment

The end-to-end test environment is an environment in which one or more process chains can be tested. Process chains are business processes that run across multiple applications (and often different hardware and software configurations). The output of one application constitutes the input of the other. The tester is not interested in the separate applications (and hardware and software confi gurations), but views the entire chain as one composite unit. End-to-end tests are usually executed in the acceptance test.

The end-to-end test environment therefore has an additional dimension in the organisational challenge, which testers must face in any case. Since the chain runs across multiple applications, several departments are involved. Moreover, all components of the test environment must be complete at the same time and arrangements have to be made for the test data in the various components.

To organise this well, the various stakeholders have to agree on these matters in advance in the (master) test plan. It is recommended to create the role of chain coordinator in the test organisation. He is responsible for setting up and maintaining the end-to-end test environment. While the end-to-end test is being executed, the chain coordinator ensures that all parts of chains are available and acts as the primary point of contact for the various parties. The required tasks, skills and knowledge for the role of chain coordinator is the same as for the role test infrastructure coordinator.

When several projects use an end-to-end test environment, arrangements have to be made about the use of test data. E.g. when project A executes tests using account data from the ‘account source system’, and project B is required to modify the ‘account source system’. The situation might occur that project A retrieves account data from another version of the ‘account source system’ in the afternoon than in the morning, which would of course affect the reliability of project A’s tests.

Production fix test environment

The production fix test environment is the environment in which solutions for production-disturbing defects (often also called ‘fixes’) are tested. The characteristic of fixes is that they must be solved and tested with the highest priority (production-disturbance equals loss). Therefore is no time to test them as well through the line of system and acceptance tests. Moreover, these environments (if they are even available immediately) are often used to test another, future version of the system. A solution may be to transfer the fi xes directly from the development environment (where they are made) to production - but this involves great risks. Moreover, it is not allowed in some market sectors, where supervisors and other regulatory bodies prohibit it.

A solution is the production fix test environment. This environment is always available or can be made available very quickly. The production fix environment is an acceptance environment type and closely resembles the production environment. It contains the same versions of the operating system, databases, network protocols, etc. The authorisations are also set up the same way and the test data are a mirror of production.

One point of concern here is the availability of the parties involved in the test environment. As we mentioned before, production-disturbing defects need to be solved quickly, so administrators and programmers may be called on often. The same holds for the administrator of the test environment and the testers who are expected to execute tests in it.

More Information